home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / comm / bbs / Hydra11.lha / HBBS / Docs / Doors.txt < prev    next >
Text File  |  1996-06-25  |  5KB  |  175 lines

  1.  
  2.  
  3. UPLOAD START
  4.  
  5.   Ask for drop carrier after upload
  6.  
  7.   Ask for check files as soon as file is uploaded or after they are all uploaded
  8.  
  9.   Ask to double check which conf files are to be placed in for each file
  10.  
  11.   Local Login ?
  12.  
  13.     YES - Display File Requester Multiple times until sysop cancels it
  14.           So that files from more than one directory can be selected
  15.  
  16.           Copy files to correct location for processing N_ND->Plapendir or sommat
  17.  
  18.     NO  - Select File Transfer protocol using SELECT_PROTOCOL door
  19.  
  20.           call TRANSFER ("WAREZ_FILE", PROTOCOLNUM,IMMEDIATE CHECK,)
  21.  
  22.           Note: "warez_file" keyword tells the transfer that the file is to
  23.           go into the filelists for a conference and to call approprate doors
  24.  
  25.   Call FILE_CHECK (ALL) Door
  26.  
  27. UPLOAD END
  28.  
  29.  
  30. TRANSFER START (WAREZ_FILE ?, PROTOCOLNUM, IMMEDIATE_CHECK ?, CONF_CHECK ?)
  31.  
  32.   Call protocol door
  33.  
  34.     E.G.
  35.  
  36.     XU P=xprzmodem.library U=HBBS:Nodes/Node1/Playpen
  37.  
  38.  
  39. TRANSFER END
  40.  
  41.  
  42. PROTOCOL DOOR (OPTIONS,[U=UPLOAD_PATH... ]/[D=DOWNLOAD FILENAME...])
  43.  
  44.   Uploading ?
  45.  
  46.    get filename of file user wants to upload
  47.    check current conference's file paths for file with same name
  48.    check playpen for file of same name
  49.  
  50.    file found in a directory ?
  51.  
  52.      skip uploading file
  53.  
  54.    else
  55.  
  56.      transfer file using built-in method
  57.  
  58.    end
  59.  
  60.   else Downloading so..
  61.  
  62.     transfer file using built-in method
  63.  
  64.   end
  65.  
  66. PROTOCOL DOOR END
  67.  
  68. FILE_CHECK START (ALL ?,FILE_NAME)
  69.  
  70.   * this door checks and deals with all files that are uploaded into a
  71.     filelist
  72.  
  73.   if ALL? then
  74.  
  75.     begin
  76.       build list of files in the node's playpen into a linked list
  77.       add call the next block of commands until you get to the end
  78.       of the list, not forgetting to fill FILE_NAME with name of current
  79.       file in the linked list.
  80.     end
  81.  
  82.     else call block just once..
  83.  
  84.   begin
  85.  
  86.     call CHECK_CORRUPT (file_name)
  87.  
  88.     if file is corrupt then set "HOLD"
  89.     else
  90.     begin
  91.       call EXTRACT_DIZ (file_name) to extract FILE_ID.DIZ to N_ND->workdir+file_name+".diz"
  92.  
  93.       call MODIFY_DIZ (file_name) for other cool doors to mess about with your nice diz
  94.  
  95.       call ASK_UL (file_name) checks to see if user *really* wanted this file uploaded,
  96.                               and can also prompt to see if it's supposed to be for the
  97.                               sysop ONLY
  98.  
  99.       if NOT incorrect and NOT sysop private then
  100.       begin
  101.  
  102.         call ASK_CONF if user said [Y]es to option before upload begins
  103.  
  104.         returns confnum that file is to be placed in
  105.  
  106.         call DUPE_CHECK (confnum)
  107.  
  108.         if file is duplicate then set "hold" variable
  109.  
  110.       end
  111.  
  112.       call ADD_DIZ (private ?,hold ?,confnum) to add the description to the filelist.
  113.  
  114.       call ADD_CREDS (filename,confnum) to add credits & time to user's account
  115.  
  116.            (this is cool way of adding creds!, as the door knows which conf the
  117.             files goes in you can get the door to say apply creds for sysop
  118.             special offers like: all Amiga warez on the weekend get 3x creds!
  119.             as the add_creds door can tell if the file goes in the amiga conf
  120.             and can easily work out dates and so on...
  121.             Also you can do filename matching in the request conf so you can
  122.             get the door to send a mail message to the user who requested the file
  123.             you've just uploaded!!!
  124.  
  125.             Wow! I even amaze myself with the coolness of this system I've
  126.             designed sometimes!)
  127.     end (corrupt)
  128.     call MOVE_FILE (filename,confnum,hold ?) to move the file to the correct bbs path
  129.  
  130.     if all ok then return OK and the CONFNUM of conference the file was placed in
  131.  
  132.   end
  133.  
  134. FILE_CHECK END
  135.  
  136. MAIL_WRITE START (TO)
  137.  
  138.   if (TO) is not specified then ask for name to mail to
  139.  
  140.   check the TO string for validity
  141.  
  142.     You *CAN* have a to string like Hydr*,Sysop,Cruise so you must check the entire
  143.     line for valid usernames
  144.  
  145.     You must also check that the user you are writing mail to has access to the
  146.     conference you are writing mail in.
  147.  
  148.     note: add support for groups,  eg, LSD in the TO string writes the message to all
  149.     the members of LSD! :-)
  150.  
  151.   ask for subject
  152.  
  153.   if subject is NOT blank
  154.   BEGIN
  155.  
  156.     get message line by line, a blank line should bring up the options.
  157.  
  158.     menu should allow the following (according to access rights)
  159.  
  160.       Attach files
  161.       Set Expiry Date
  162.       Set AutoDelete after receiver has read it
  163.       reciepit notify (after the recipient has read the message, the sender gets
  164.                       a mail message telling him/her of that)
  165.  
  166.  
  167.   END
  168.  
  169.   note: add support for Mail Signatures and tag them to the end of a message
  170.  
  171.   note: add support for a spell checker! :-)
  172.  
  173. MAIL_WRITE END
  174.  
  175.